草庐IT

c++ - 如何使用 Qt 设计 IDE?

我和我的friend在我的大学(大马士革大学)从事编译器设计项目。我们正在使用(Flex、C++、Bison、Qt)来完成这项工作。我想知道是否有一种方法可以使用Qt为我们的编译器设计一个IDE。我知道如何完成这项工作,但我想了解是否有一些资源可以开始使用,或者是否有预构建的设计来完成这项工作。提前致谢:) 最佳答案 先看QtCreator的源码.它非常干净且易于阅读! 关于c++-如何使用Qt设计IDE?,我们在StackOverflow上找到一个类似的问题:

c++ - 构建过程中的 QT 和 SQLITE 问题

我正在开发一个使用sqlite的简单应用程序,问题是下面的代码/*...*/QSqlDatabasedb=QSqlDatabase::addDatabase("QSQLITE");db.setDatabaseName("hellogoodbye");if(!db.open()){QMessageBox::critical(0,qApp->tr("Impossibileaprireildatabase"),qApp->tr("Nonèstatopossibileaprireil""database"),QMessageBox::Cancel);}给我:C:\Qt\2010.04\Augu

Qt|QTextEdit编辑文本自动拉伸高度以及踩坑经验

最近做开放项目时,遇到了这样一个需求:使用QTextEdit编辑文本,随着编辑文本的变化,窗口高度自适应拉伸。实现该功能的核心思想:响应QTextEdit::textChanged消息,实时获取QTextEdit高度,当编辑框内容的高度超过最小值时,需要修改QTextEdit的高度。对于TextEdit编辑框自动拉伸的功能,很多博友也有记录,今天主要是针对踩坑经验分析,为大家分享!首先看一下实现效果~接下来,详细讲述如何实现该功能吧!开发环境VS2017+Qt5.14.2功能实现1:拖出控件,更改控件滚动条默认拖出来的控件,当编辑的文本高度超出可视化区域后会出现垂直滚动条。为了不显示右侧滚动条

c++ - 如何在 Qt 中使用 GLEW?

我想在Windows下将GLEW与Qt一起使用(如果重要的话是7)。我所做的是访问GLEW网站,下载适用于windows的程序包,然后将glew.dll放入System32文件夹中。在我的pro文件中,我用LIBS+=.../path_to_the_libs/glew32.lib引用了.lib文件。glew32s.lib也一样(不确定后者的用途)。在我的QGLWidget子类中,我确保glew.h包含在之前因此在gl.h之前和glu.h.在main()函数我做的第一件事就是调用glewInit并调用glGetError但是我的应用程序退出时出现了一些奇怪的代码,比如一个非常大的负数。我

c++ - Qt读写二进制文件

我将在Qt项目中使用二进制文件,作为Qt的新手,我不确定是否应该使用QVector或QByteArray来存储数据。这些文件可能非常小(4GiB)。在运行时之前大小是未知的。我需要能够进行随机搜索并能够处理文件中每个字节的操作。内存映射文件在这里有用吗?感谢您的任何建议。 最佳答案 将整个大文件加载到内存中,无论是QVector还是QByteArray都可能不是一个好的解决方案。假设文件具有某种结构,您应该使用QFile::seek将自己定位在“记录”的开头并使用qint64QIODevice::read(char*data,qin

c++ - 使用 Qt 更新/渲染游戏对象

我想知道如何在使用Qt时更新和渲染游戏对象。例如。对于典型的游戏,您会有一个事件循环,但Qt只有exec()。使用Qt更新和渲染游戏对象的正确方法是什么?我该怎么做,比如获取每帧之间的时间来更新我的游戏对象?我是否为所有这些使用单独的线程?我的问题与thisthread非常相似,除非我不想避免标准Qt进程。编辑:对于不完整的问题,我深表歉意。我相信tmpearce已经回答了我的问题,但这里有一个基本示例,说明我正在尝试做的事情,以防其他人遇到同样的问题:intmain(intargv,char**args){QApplicationapp(argv,args);ApplicationW

c++ - Qt:如果你发送信号太快会发生什么?

情况是这样的:您有一个在后台线程中运行的长时间运行的计算。此计算会发出一个信号,例如,每100毫秒刷新一次GUI元素。假设它发出了100个这样的信号。正在重绘的小部件需要超过100毫秒才能重绘;假设1秒。事件循环中发生了什么?信号调用是否“堆积”直到它们全部执行(即100秒)?是否有任何“删除”事件的机制? 最佳答案 用户事件永远不会被丢弃。如果您将发出的信号事件排队的速度快于您处理它们的速度,那么您的事件队列将会增长,直到您用完内存并且您的程序将崩溃。不过,值得注意的是,如果系统负载过重,QTimer将跳过超时事件。在某种程度上,

c++ - 在 QT for Windows 中使用 Win32 API

我正在从.netC#迁移到QTC++,我正在尝试使用此Win32函数在QT中模拟驱动器:[DllImport("kernel32.dll",CharSet=CharSet.Auto,SetLastError=true)]privatestaticexternboolDefineDosDevice(intflags,stringdevname,stringpath);[DllImport("kernel32.dll",CharSet=CharSet.Auto,SetLastError=true)]privatestaticexternintQueryDosDevice(stringdev

c++ - 在 Windows 中将 rinside 与 qt 一起使用

我开始在C++中使用rinside和rcpp。我只想从零开始,所以我的QT项目除了创建RInside实异常(exception)什么都没有,我有一个我无法解决的问题。我在项目中只有一个对话窗体。我的项目文件:QT+=coreguiTARGET=rcpp-rinsideTEMPLATE=appSOURCES+=main.cpp\dialog.cppHEADERS+=dialog.hFORMS+=dialog.uiINCLUDEPATH+=C:\R\R-2.15.1\includeINCLUDEPATH+=C:\R\R-2.15.1\library\Rcpp\includeINCLUDEP

c++ - 使用 Qt 显示 JPG 图像不适用于发布可执行文件

我在用qt显示jpg图像时遇到了一个恼人的问题。我在Windows7中使用VisualStudio2008开发并使用Qt4.8.2版。我现在将通过Qt提供的“collidingmice”示例(../examples/graphicsview/collidingmice)来描述我的问题。我可以通过VisualStudioIDE或通过VisualStudio命令提示符构建此示例。在此示例中,一个jpg用作背景,并在我执行调试可执行文件时正确显示。但在发布版本中,此背景jpg未显示。我已经意识到,Qt使用插件来加载/显示不同的图像。因此,我将Qt插件文件夹的内容复制到应用程序目录(colli